var util = require('../../util.js');
//获取应用实例
var app = getApp();

// 初始化数据
var init = {
  
  // 数据
  data: {
    id: 1,
    // 分页参数
    page: {
      cur: 1, // 当前页码
      size: 10, // 每页分页数
      total: 1,  // 分页总数
      lock: false,  // 加载锁
    },
    first: true,
    items: [],  // 订单列表
    loadTips: '', // 加载提示
    status: 9, // 订单状态,默认显示全部订单 9:全部订单，1:待接单，7:已接单，8:已完成
  },

  // 页面第一次加载
  onLoad: function (options) {
    var that = this;
    that.setData({
      status: options.status || 9
    })
    that.getData();
  },
  onShow:function(res){
    if(this.data.first==true){
      this.setData({
        first:false
      })
    }else{
      this.setData({
        id: 1,
        // 分页参数
        page: {
          cur: 1, // 当前页码
          size: 10, // 每页分页数
          total: 1,  // 分页总数
          lock: false,  // 加载锁
          first: true
        },

        items: [],  // 订单列表
        loadTips: '', // 加载提示
      })
      this.getData();
    }
  },
  // 切换tab
  tab: function (event) {
    var that = this;
    that.setData({
      status: event.currentTarget.dataset.status,
      page: {
        cur: 1, // 当前页码
        size: 10, // 每页分页数
        total: 1,  // 分页总数
        lock: false,  // 加载锁
      },
      items: []
    });
    that.getData();
  },

  // 获取数据
  getData: function () {
    var that = this;
    // 加锁
    if (that.data.page.lock) return;
    that.setData({
      'page.lock': true
    });

    app.getLoginSession(function (session) {
      if (that.data.page.total >= that.data.page.cur) {
        // 加载前
        that.setData({
          loading: false,
          loadTips: that.data.loading ? '' : '加载中...'
        });

        wx.request({
          // 请求地址
          url: app.api + "/wx_log_test/order/driver",

          // 请求参数
          data: {
            token: session,
            status: that.data.status,
            page: that.data.page.cur,
            perpage: that.data.page.size
          },

          // 请求成功
          success: function (res) {
            if(res.statusCode == 200){
              if (res.data.msg != "OK"){
                wx.showModal({
                  title: '提示',
                  content: res.data.msg,
                })
              }else{
                if (res.data.data.totalPages == 0){
                  that.setData({
                    loadTips: '暂无数据！'
                  })
                }else{
                  if (res.data.data.totalPages == 1 || res.data.data.totalPages==that.data.page.cur) {
                    that.setData({
                      loadTips: '无更多数据！'
                    })
                  }
                  that.setData({
                    'page.cur': ++that.data.page.cur,
                    'page.total': parseInt(res.data.data.totalPages),
                    items: that.data.items.concat(that.changestatus(that.deallist(res.data.data.content))),
                    'page.lock': false
                  });
                }
              }
            }else{
              wx.showModal({
                title: '提示',
                content: '订单列表接口请求错误，返回状态码：' + res.statusCode,
              })
            }
          },

          // 请求失败
          fail: function () {
            console.log('aa');
            that.setData({
              loading: true,
              loadTips: '加载数据失败！'
            })
          },

          // 请求结束
          complete: function () {
            // 解锁
            that.setData({
              'page.lock': false
            })
          }

        });
      } else {
        that.setData({
          loadTips: '无更多数据！'
        })
      }
    })
  },
  //上拉加载更多
  lower:function(res){
    this.getData();
  },
  deallist(list) {
    if (list && Array.isArray(list)) {
      list.forEach((item) => {
        item.order.deliverysend = util.formatDate(new Date((parseInt(item.order.loadOn) / 1000 + 691200) * 1000), 'YYYY-MM-dd hh:mm:ss');
        item.order.deliveryOn = util.formatDate(new Date(item.order.deliveryOn), 'YYYY-MM-dd hh:mm:ss');
      })
      return list
    }
  },
  //更改状态
  changestatus(list) {
    if (list.status == 7 && list.order.loadWeight != 0 && list.order.unloadWeight == 0) {
      list.status = 5;//运输中-->已送达
    } else if (list.status == 7 && list.order.loadWeight == 0) {
      list.status = 3;//待提货-->提货完成
    } else if (list.status == 7 && list.order.unloadWeight != 0 && list.order.loadWeight != 0 && list.order.position == null) {
      list.status = 6;//等待入库-->入库卸货
    } else if (list.status == 1) {
      list.status = 1;//待接单-->取消派单
    } else if (list.status == 3 && list.order.loadWeight != 0 && list.order.unloadWeight == 0) {
      list.status = 5;//已超时,运输中
    } else if (list.status == 3 && list.order.loadWeigh == 0) {
      list.status = 3;//已超时，待提货-->提货完成
    } else if (list.status == 3 && list.order.unloadWeight != 0 && list.order.loadWeight != 0 && list.order.position == null) {
      list.status = 6;//已超时，等待入库-->入库卸货
    } else if (list.status == 8) {
      list.status = 4;//已完成-->取消派单
    }
    return list
  },
  //中止订单弹框
  stopOrder:function(res){
    var that = this;
    that.setData({
      order_box:true
    })
  },
  close_orderBox:function(res){
    var that = this;
    that.setData({
      order_box: false
    })
  },
  //确认接单
  sureorder:function(res){
    wx.navigateTo({
      url: '/pages/driver_orderdetail/driver_orderdetail?from=' + that.data.status + '&id=' + res.currentTarget.dataset.orderid,
    })
  },
  //取消接单
  closeorder: function (res) {
    var that = this;
    app.getLoginSession(function (session) {
      wx.request({
        url: app.api + '/wx_log_test/order/unappoint?token=' + session + '&&orderid=' + res.currentTarget.dataset.orderid,
        method: 'POST',
        success: function (res) {
          var res = res.data;
          if (res.data == true) {
            wx.showModal({
              title: '温馨提示',
              content: '取消接单成功！',
              showCancel: false,
              success: function (res) {
                if (res.confirm) {
                  that.setData({
                    id: 1,
                    // 分页参数
                    page: {
                      cur: 1, // 当前页码
                      size: 10, // 每页分页数
                      total: 1,  // 分页总数
                      lock: false,  // 加载锁
                    },

                    items: [],  // 订单列表
                    loadTips: '', // 加载提示
                  })
                  that.getData();
                }
              }
            })
          } else {
            wx.showToast({
              title: '失败，请重试！',
              icon: 'loading'
            })
          }
        }, fail: function (res) {
          wx.showToast({
            title: '失败，请重试！',
            icon: 'loading'
          })
        }
      })
    })
  }
};

// 注册页面
Page(init);